package day03;
//运算符的演示
public class OperDemo {
    public static void main(String[] args) {
        /*
        6.条件/三目运算符
        1）语法：
            boolean?数1：数2
        2）执行过程：
            整个表达式是有值的，它的值要么是？后的数1，要么是：后的数2
            计算boolean的值：
            若为true，则整个表达式的结果为？后的数1
            若为false，则整个表达式的结果为：后的数2
         */
            int num = 8;
            int flag = num>0?1:-1;
            System.out.println(flag);
            //找两个数中的最大值
            int a =10,b = 20;
            int max = a>b?a:b;
            System.out.println(max);

            int c = 5,d = 8,e = 4;
            int gus = c>d?a:b;
            System.out.println(a+e);





        /*
        3.逻辑运算符：
          1）&&：短路与（并且）,两边都为真则为真，见false为false
            第一个条件为false时，则发生短路，后面的不执行
             ||：短路或（或者）,有真则真，见true则true
             第一个条件为true时，则发生短路，后面的不执行
             ！：逻辑非(取反),非真则假，非假则真
          2）逻辑运算是建立在关系运算的基础之上的，
             逻辑运算的结果也为boolean型
             */
/*
        int a =5,b = 10,c =5;
        System.out.println(b>a||b<c);
        System.out.println(b<=c||b>a);
        System.out.println(b!=c||b>a);
        System.out.println(a==b||b<a);
        int score  =90;
        System.out.println(score<0||score>100);//成绩不合法验证
        boolean b2 = !(a<b);
        System.out.println(b2);//false
        System.out.println(!(a>b));//true

 */
        /*
        4.赋值运算符
        -=、+=、*=、/=、=
        小面试题
        short s = 5;
        //s = s+5;//编译错误，需强转，改为s = (short)(s+5);
        s +=5;//相当于s = (short)(s+5);

        int a =5;//自带强转
        a+= 10;//相当于a =(int)(a+10);
        System.out.println(a);//15
        a*= 2;//相当于a =(int)(a*2);
        System.out.println(a);//30
        a/= 3;//相当于a =(int)(a/3);
        System.out.println(a);//10
        a-=10;
        System.out.println(a);

         */
/*
           5、字符串连接运算符
           1）+：
            1.1）若两边为数字，则做加法运算
            1.2）若两边出现了字符串，则做字符串连接
            1.3)任何类型的数据与字符串相连，结果都是字符串类型

        int age = 4;
        System.out.println("我今年"+age+"岁了。");
        String name = "VDFV";
        System.out.println("大家好，我叫"+name+"今年"+age+"岁了。");
        String address = "Tedu.cn";
        System.out.println("地址在"+address);
        System.out.println(10+20+30+" "+20);
        System.out.println("   "+0+"   "+0+"   ");
        System.out.println("     "+"^"+"    ");

 */

            /*
            boolean?数1：数2

            boolean b1 = b >a && b <c;
            System.out.println(b1);//false
            System.out.println(b<=c&&b>a);//false
        System.out.println(a==b&&b<a);//false
        System.out.println(b!=c &&b>a);//true

        int age = 30;
        System.out.println(age<=18&&age>=50);//true
        int score=85;
        System.out.println(score>=60&&score<=100);//true

         */

/*
        int a= 10,b = 20,c = 30;
        boolean a1 = a>b;
        //System.out.println(a1);//false
        //System.out.println(b<=c);//true
        //System.out.println(c>b);//true
        //System.out.println(a<=b);//true
        //System.out.println(a==c);//false
        System.out.println(a++>b);//false
        System.out.println(--b<b++);//b =20,false
        System.out.println(a++!=a--);//true
        System.out.println(a%2==0);//false
        System.out.println(a+b>=c);//ture
        System.out.println(a++>11);//false
        System.out.println(a--<11);//false
        System.out.println(a++>11);//false
        System.out.println(a);


 */


        /*
        1，算数运算符：+，-，*，/，%，++。--
            1）单独使用时，在前在后都一样
            2）被使用时，在前在后不一样
            a++的值为a,++a的值为a+1
            a--的值为a,--a的值为a-1

        int a =5,b =5;
        int c = a++;//将a++的值5赋值给c,同时a自增1
                    //简单记法：a++的值为5，所以c就是5
        int d = ++b;//将++b的值6赋值给d,同时b自增1
                    //++b的值为6，所以d就是6
        System.out.println(a);//6
        System.out.println(b);//6
        System.out.println(c);//5
        System.out.println(d);//6

        int a = 5,b =5;
        int c = a--;//a--=a,将a--的值赋值给c,同时自减1，c=5
        int d = --b;//--b=b-1=4,将--b的值赋值给d，d=4
        System.out.println(a);//4
        System.out.println(b);//4
        System.out.println(c);//5
        System.out.println(d);//4

        //单独使用时
        int a =5,b =5;
        a--;//相当于a-1
        --a;//相当于a-1

         */
    }
}
